Embodiments of the present invention relate to the field of networked devices. Specifically, embodiments of the present invention relate to a system and method for partitioning an extended network of IEEE 1394b devices into subclusters of fully capable nodes which communicate with the 1394b standard and subclusters of partially capable nodes which communicate using the 1394a standard.
One conventional technique for media to share a high performance serial bus can be found in the IEEE Std 1394a -2000 specification (herewithin 1394a standard). Devices which conform to that specification may be known as 1394a compliant devices. A second technique for media to share a high speed serial bus is contemplated in the in development IEEE P1394b specification (herewithin the 1394b standard). Devices which conform to the latter specification may be known as 1394b compliant devices. A need exists for an efficient design migration path from nodes compliant with the 1394a standard to nodes compliant with the, 1394b standard. Creating such an efficient migration path is problematic because the two standards define different bus communication (e.g., arbitration) mechanisms and they have different physical layer characteristics.
Some differences in the above-mentioned arbitration standards may be understood by referring to FIG. 1A, which illustrates an exemplary sequence of bus transfers according to the 1394a standard. The sequence includes an A fairness interval 202, during which each device has an opportunity to transfer exactly one packet 208. After a device transfers a packet 208, it must wait for a new A fairness interval 202 to begin, which is indicated by an arbitration reset gap 204. Thus, once device A has transferred its first packet 208 it must wait for the arbitration reset gap 204 to transfer a second packet 208. A device which has not yet transferred a packet 208 in a given A fairness interval 202 only needs to wait for a subaction gap 206, which is shorter than an arbitration reset gap 204.
A further characteristic of the 1394a standard is that a device may not request bus access until the arbitration reset gap 204 or subaction gap 206 has completed, depending upon whether the device has transferred a packet 208 in the A fairness interval 202 or not. After the request, there may be a time lag before that device is granted bus access. Another characteristic of the 1394a standard is that the same device (node) always serves as the root node once selected after a bus reset.
FIG. 1B illustrates an exemplary sequence of bus transfers according to the 1394b standard. Included in the sequence is a B fairness interval 212 during which each device has an opportunity to transfer exactly one packet 208. After a device transfers a packet 208, it must wait for a new B fairness interval 212 to begin. However, the 1394b standard does not call for arbitration reset gaps, unlike the 1394a standard (FIG. 1A, 204). Furthermore, the 1394b standard allows a device to issue a request for bus access while another device is still transferring a packet 208. Consequently, the delay between devices transferring packets 208 may be less than that which occurs under the 1394a standard. The 1394a standard also calls for bus grants 210, although they are not shown in FIG. 1A. An additional difference between the two standards is that in the 1394b standard, the last device to transfer a packet 208 serves as the arbitrator, rather than using a predetermined arbitrator as in the 1394a standard. Other differences exist between the two standards as well.
Differences exist between the physical layers (PHY) as well. One prominent difference is the 1394a serial bus uses DC-coupling, whereas the 1394b serial bus uses DC-free coding. This difference may allow 1394b compliant devices to have superior noise rejection.
The 1394a bus is used extensively today; however, mixed systems are envisioned. The above differences between the 1394a and 1394b standards may make it problematic to migrate from 1394a compliant devices to 1394b compliant devices that share a common bus. The changes in the 1394b standard offer desirable improvements of which many designers would like to take advantage. Unfortunately, designers may face a difficult challenge of migrating their designs from the 1394a standard to the 1394b standard. First, the designers must learn the 1394b arbitration protocol and conform their design to it. Second, the designers must modify the physical layer to account for the 1394b standard. Thus, designers face a difficult challenge of incorporating these changes and will risk design flaws. Clearly, it will be costly for designers to make these changes and designers will face a cost/benefit tradeoff.
Therefore, it would be advantageous to provide a method and system for allowing 1394a compliant devices and 1394b compliant devices to physically share a media bus and to communicate over the shared bus with a protocol each can understand. A need exists for a method and system which allows for a migration path from the 1394a standard to the 1394b standard (and back) which also satisfies the needs of a wide range of developers. For instance, designers who wish to take full advantage of the 1394b improvements may desire to incorporate the 1394b protocol at both the physical layer and at the arbitration layer. A need also exists for a simpler choice, which does not force the designer to incorporate the newer arbitration standard in the design. A still further need exists for a method and system which allows designs of the simpler and the fully compliant (capable) choice to work together.
Embodiments of the present invention provide a method and system for allowing 1394a compliant nodes and 1394b compliant nodes to physically share a media bus and to communicate over the shared bus using a partially compliant 1394b node to bridge the other two nodes. Embodiments of the present invention provide a method and system which allow a migration path from the 1394a standard to the 1394b standard which satisfies the needs of a wide range of developers. Embodiments of the present invention allow designers who wish to take full advantage of the 1394b improvements to be able to incorporate the 1394b protocol at both the physical layer and at the communication layer. Embodiments allow designers a simpler choice, which does not force the designer to incorporate the newer communication standard in the design. Embodiments of the present invention provide a method and system which allow both the simpler and the fully compliant design choice to be used together. Embodiments of the present invention provide these advantages and others not specifically mentioned above but described in the sections to follow.
A method and system for allowing a network of devices (nodes) which conform to standards with different physical interfaces and communication protocols to share a communication link is disclosed. In one embodiment of the present invention, a 1394a compliant node is connected to a partially compliant bi-lingual 1394b node. The partially compliant bi-lingual 1394b node is connected to a fully compliant 1394b node. Thus, the partially compliant bi-lingual 1394b node provides a bridge between the 1394a node and the fully compliant 1394b node. The fully compliant 1394b node has a physical interface in compliance with the 1394b standard and arbitrates according to either the 1394b standard or the 1394a standard. The partially compliant 1394b node has a physical interface in compliance with the 1394b standard but arbitrates according to the 1394a standard. The 1394a node has a physical interface in compliance with the 1394a standard and arbitrates according to the 1394a standard.
In another embodiment, the partially compliant bi-lingual 1394b node is connected to a second partially compliant 1394b node and communicates with a 1394a compliant protocol. In still another embodiment, the fully compliant bi-lingual 1394b node connects to another fully compliant 1394b node and communicates using a 1394b compliant protocol.
Another embodiment of the present invention provides a method of allowing communication between a network of devices which have dissimilar communication interfaces and arbitration protocols. The method first establishes a network of connections by connecting a 1394a compliant node with a partially compliant 1394b node, which communicate using a 1394a compliant protocol. Then, the partially compliant 1394b node is connected to a second 1394b node, which communicate using a 1394a communication protocol. In one embodiment, the second 1394b node is then connected to a fully compliant 1394b node, which communicate with each other using a 1394b compliant protocol. In another embodiment, the second 1394b node is then connected to a 1394a node, which communicate with each other using a 1394a compliant protocol.
A still further embodiment provides for a device which provides a bridge between devices with dissimilar physical interfaces networked on a communication link. The device comprises a first port which conforms to the 1394a physical standard and a second port which conforms the 1394b physical standard. The device is capable of arbitration using the 1394a standard on either port.